package address

import (
	"encoding/json"

	"gitee.com/xgotool/backend-framework-template/service/address"
	"gitee.com/xiaoyutab/xgotool/individual/xginplus"
	"gitee.com/xiaoyutab/xgotool/xstring"
)

// 获取地址详情信息
//
//	GET	user/address/info
func Info(c *xginplus.Context) *xginplus.Response {
	type temp_struct struct {
		Id json.Number `json:"id" form:"id" xml:"id"` // 地址条目ID
	}
	temp := temp_struct{}
	if err := c.Bind(&temp); err != nil {
		return c.Error(err)
	}
	type temp_struct_used struct {
		Id uint // 地址条目ID
	}
	param := temp_struct_used{}
	// 参数赋值
	param.Id = xstring.JUint(temp.Id)
	// ApiPost软件所需要的参数描述格式:
	// [{"is_checked":1,"not_null":1,"key":"id","type":"Text","field_type":"Integer","value":"","description":"地址条目ID"}]
	// ApiFox软件所需要的参数描述格式:（此软件需要的参数为多行形式，请手动去除最前面的//和空格，再行复制）
	// "id","integer","true","","","地址条目ID"
	// 其他软件所需要的KV键值对描述:
	// {"id":"地址条目ID"}
	// 本命令执行参数【留做备份，以便后期使用/修改】
	// id uint 地址条目ID v=required x.ginplus
	// 参数效验部分
	if param.Id == 0 {
		return c.Errorf("地址条目ID(id) 不能为0")
	}

	info, err := address.Info(param.Id)
	if err != nil {
		return c.Error(err)
	}
	// 进行安全加密
	info.Uid = 0
	return c.SuccessAny(info)
}
